home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 1 / The Arsenal Files (Arsenal Computer).ISO / os2_app / ctc0007.txt < prev    next >
Text File  |  1994-03-05  |  44KB  |  660 lines

  1.                        C Set ++ Compiler Version 2.0
  2.                                 Fixes List
  3.                        -----------------------------
  4. *************************************************************************
  5. *                                                                       *
  6. *  This CSD contains fixes that are common to C/C++ Tools Version 2.0   *
  7. *  and Version 2.01.  Notwithstanding the version statements            *
  8. *  contained in the files of this CSD, this is not an upgrade of        *
  9. *  Version 2.0 to Version 2.01.                                         *
  10. *                                                                       *
  11. *  The code to which you have access is determined by the version of    *
  12. *  the software to which you are licensed.                              *
  13. *                                                                       *
  14. *************************************************************************
  15. =========================================================================
  16.                CTC0007 is informal Corrective Service
  17. The following fixes are provided in Compiler CS CTC0007
  18. *************************************************************************
  19. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  20. -------------------------------------------------------------------------
  21.  PJ11951       BE & CFE     The optimizer misses a chance to inline
  22.                             certain C++ functions.
  23. -------------------------------------------------------------------------
  24.  PJ11979         CFE        In source code:
  25.                             int main (void) {
  26.                                 int a, b; b = 1; a = 2; return 0;
  27.                             }
  28.                             The symbols for a and b are generated in a
  29.                             different order depending on whether /Ti is
  30.                             on.  They should be generated in the same
  31.                             way no matter what the /Ti setting is.
  32. -------------------------------------------------------------------------
  33.  QUAL-IMP        CFE        When /La compiler option is used, some of the
  34.                             structures and unions are incorrectly shown
  35.                             in the listing
  36. -------------------------------------------------------------------------
  37.  PJ12108         CRT        Library fixes made to solve problems when
  38.                             debug allocated objects were freed with
  39.                             non-debug routines and vice-versa.
  40.                             In addition the environment variable
  41.                             DDE4_HEAP_SKIP was added whereby the user can
  42.                             skip the _heap_check that occur when debug
  43.                             routines are invoked. The syntax is as
  44.                             follows:
  45.  
  46.                             set DDE4_HEAP_SKIP=increment,starting
  47.  
  48.                             where: 'increment' is how often a
  49.                             heap_check will be invoked, and 'starting'
  50.                             (which is optional) is how many calls to
  51.                             debug memory routines must occur before
  52.                             heap_checks are done.
  53.  
  54.                             Example: DDE4_HEAP_SKIP=100,1000
  55.                             will perform a heap_check after 1000 debug
  56.                             memory routines have been called and on every
  57.                             100 calls after that.
  58.  
  59.                             Example: DDE4_HEAP_SKIP=50
  60.                             will perform a heap_check on every 50 calls
  61.                             made to a debug memory routine
  62.  
  63.                             Note: If DDE4_HEAP_SKIP is not set in the
  64.                             environment then the default will be to
  65.                             invoke heap_check on every call to a debug
  66.                             memory routine.
  67. =========================================================================
  68.                CTC0006 is informal Corrective Service
  69. The following fixes are provided in Compiler CS CTC0006 and later CS
  70. *************************************************************************
  71. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  72. -------------------------------------------------------------------------
  73.  PJ11896         BE         Optimization Problem: A for loop that
  74.                             functions like a memcpy() could be
  75.                             incorrectly optimized if the source of the
  76.                             copy is a struct member.
  77. -------------------------------------------------------------------------
  78.  PJ11952         BE         Optimization Problem: An internal problem
  79.                             with expression simplification could result
  80.                             in incorrect code generation.
  81. -------------------------------------------------------------------------
  82.  PJ11953         BE         Optimiation Problem: Within an inner switch
  83.                             of nested switches, a goto jumping to a break
  84.                             for the outer switch could be turned into a
  85.                             break for the inner switch.
  86. -------------------------------------------------------------------------
  87.  PJ11975         BE         Optimization Problem: Statements of the form:
  88.                             "if (f1 < f2) i++", where f1 and f1 have
  89.                             floating-point datatypes, could cause a
  90.                             compile-time exception in the BE.
  91. -------------------------------------------------------------------------
  92.  QUAL-IMP        BE         Optimization Problem: MOD operations could
  93.                             generate results of the wrong sign if both
  94.                             operands are negative.  Similar results could
  95.                             occur for MOD and DIV by a negative power of
  96.                             2.
  97. -------------------------------------------------------------------------
  98.  QUAL-IMP        BE         Fixed a small problem with the generated
  99.                             assembler listing file - an incorrect symbol
  100.                             could be used.
  101. -------------------------------------------------------------------------
  102.  PJ11872         C++FE      Fixed a trap in the C++ frontend.  The trap
  103.                             occurred when we tried to compile a source
  104.                             file that contained a class that had 2
  105.                             declarations of the same friend function and
  106.                             a typedef for that function.
  107. -------------------------------------------------------------------------
  108.  PJ11887         C++FE      Fixed a trap when compiling code with a
  109.                             definition of a function with _Far16 _Pascal
  110.                             linkage.
  111. -------------------------------------------------------------------------
  112.  PJ11981         C++FE      If a conversion function yields a reference
  113.                             to a class with constructors, and a temporary
  114.                             is built from the result of that conversion,
  115.                             the temporary is initialized by bitwise
  116.                             copying instead of by calling its copy
  117.                             constructor.
  118. -------------------------------------------------------------------------
  119.  PJ11982         C++FE      The compiler will deliberately not inline
  120.                             some functions if doing so would break C++
  121.                             exception handling.  However, when exception
  122.                             handling is disabled by /Gx+, the compiler
  123.                             still fails to inline those functions.
  124. -------------------------------------------------------------------------
  125.  PJ11983         C++FE      A complex expression containing more than one
  126.                             conditional subexpression (i.e. the  x ? y :
  127.                             z construct) may be generated such that the
  128.                             subexpressions are evaluated in the wrong
  129.                             order.
  130. -------------------------------------------------------------------------
  131.  PJ11984         C++FE      An inline function consisting of a single
  132.                             return statement that returns a
  133.                             type-converted parameter may be incorrectly
  134.                             inlined.
  135. -------------------------------------------------------------------------
  136.  PJ11881         CFE        Sizeof typedef within sizeof sometimes
  137.                             returns arbitrary value.
  138. -------------------------------------------------------------------------
  139.  PJ11929         CFE        If the argument list of a macro is supplied
  140.                             via another macro, the macro might not be
  141.                             expanded as expected.
  142. -------------------------------------------------------------------------
  143.  PJ11889         CRT        If the function that executes when a thread
  144.                             begins execution calls 16-bit code, then
  145.                             EDCThunkProlog is called from within the
  146.                             function prolog.  EDCThunkProlog tries to
  147.                             access data that is outside the stack frame,
  148.                             and since this is the first frame on the
  149.                             stack, that storage is not allocated to the
  150.                             stack.  A protection exception occurs.
  151. =========================================================================
  152.                CTC0005 is informal Corrective Service
  153. The following fixes are provided in Compiler CS CTC0005 and later CS
  154. *************************************************************************
  155. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  156.  ------------------------------------------------------------------------
  157.  PJ11625         BE         Optimization Problem: Compiling source that
  158.                             contains floating-point code could cause a
  159.                             compile-time trap in the backend.
  160.  ------------------------------------------------------------------------
  161.  PJ11688         BE         Optimization Problem: Statements of the form
  162.                             "do { i++; } while (condition); i--;" could
  163.                             be incorrectly optimized.
  164.  ------------------------------------------------------------------------
  165.  PJ11692         BE         Incorrect debug info could be generated for a
  166.                             data member of a class with type "char *
  167.                             const".
  168.  ------------------------------------------------------------------------
  169.  PJ11695         BE         Optimization Problem: Instruction scheduling
  170.                             could clobber the result of constant multiply
  171.                             across a call.
  172.  ------------------------------------------------------------------------
  173.  PJ11696         BE         Optimization Problem: Using an int variable
  174.                             as an array of chars within a loop could
  175.                             result in incorrect code generation.
  176.  ------------------------------------------------------------------------
  177.  PJ11697         BE         Optimization Problem: Statements of the form
  178.                             "while (cond) { if (--i) { i++; break; } }"
  179.                             could be incorrectly optimized.
  180.  ------------------------------------------------------------------------
  181.  PJ11698         BE         Optimization Problem: If the "count" paramter
  182.                             of strncat() is a builtin string function,
  183.                             incorrect code could be generated.
  184.  ------------------------------------------------------------------------
  185.  PJ11699         BE         Optimization Problem: Tail calling a _Pascal
  186.                             function from another function could result
  187.                             in an exception at run-time.
  188.  ------------------------------------------------------------------------
  189.  PJ11701         BE         strncat() could copy one byte even if "count"
  190.                             parameter is a variable of value 0.
  191.  ------------------------------------------------------------------------
  192.  QUAL-IMP        BE         Optimization Problem: Adding two negative
  193.                             numbers and then negating the result could be
  194.                             optimized incorrectly.
  195.  ------------------------------------------------------------------------
  196.  QUAL-IMP        BE         Without optimization, an expression of the
  197.                             form "*((char*)&array╒index■+i)" could
  198.                             generate an incorrect OBJ even though the
  199.                             ASM is correct.
  200.  ------------------------------------------------------------------------
  201.  PJ11491         C++FE      new() is not returning a valid pointer when
  202.                             allocating a 0-sized array.
  203.  ------------------------------------------------------------------------
  204.  PJ11492         C++FE      The delete() operator for an object was not
  205.                             being called with the debug parameters when
  206.                             that object was being deleted because its
  207.                             constructor threw an exception.
  208.  ------------------------------------------------------------------------
  209.  PJ11574         C++FE      Reduce the long link times and large swapper
  210.                             file created when linking C++ programs that
  211.                             contain templates.
  212.  ------------------------------------------------------------------------
  213.  PJ11575         C++FE      If a virtual base class appears more than
  214.                             once in the class hierarchy, then one copy of
  215.                             if may be initialized several times and the
  216.                             other copies not initialized.
  217.  ------------------------------------------------------------------------
  218.  PJ11584         C++FE      The compiler may crash when generating debug
  219.                             information for a class that has no
  220.                             user-supplied nor compiler-generated inline
  221.                             functions.  This is rare, since there are
  222.                             usually some compiler-generated ones.
  223.  ------------------------------------------------------------------------
  224.  PJ11585         C++FE      If a C++ compilation includes definitions of
  225.                             classes that contain virtual functions, all
  226.                             of which are inline functions, the compiler
  227.                             will generate those classes and functions
  228.                             whether or not they are actually used.  This
  229.                             fix generates them only when necessary
  230.  ------------------------------------------------------------------------
  231.  QUAL-IMP        C++FE      A C++ program containing a brace-enclosed
  232.                             statement block outside of a function body
  233.                             crashes the front-end when compiled with
  234.                             /Wuse+ if there is an unused label define
  235.                             in the block
  236.  ------------------------------------------------------------------------
  237.  QUAL-IMP        C++FE      A goto within a catch block is incorrectly
  238.                             diagnosed as a jump into the catch block,
  239.                             which is illegal since it bypasses
  240.                             initialization of the catch variable
  241.  ------------------------------------------------------------------------
  242.  QUAL-IMP        C++RT      Fixed memory leak that occurred when memory
  243.                             is allocated for an object however, it is not
  244.                             constructed because it's constructor threw an
  245.                             exception.
  246.  ------------------------------------------------------------------------
  247.  PJ11702         CFE        The compiler is not recognizing a constant
  248.                             expression properly when initialization
  249.                             involves an array within a structure within
  250.                             an array of structures
  251.  ------------------------------------------------------------------------
  252.  PJ11703         CFE        Using CSD 1 of C Set ++, the test case is
  253.                             expected to have a warning message, but the
  254.                             compiler should not be trapping.
  255.  ------------------------------------------------------------------------
  256.  PJ11686         CRT        The problem lies in reading across memory
  257.                             blocks.  The code did not take into account
  258.                             of the number of characters read in from the
  259.                             previous blocks and hence reading more than
  260.                             necessary.
  261.  ------------------------------------------------------------------------
  262.  PJ11687         CRT        AL register will now be set by the library
  263.                             when making a call to DosGetMessage.
  264. =========================================================================
  265.                CTC0004 is informal Corrective Service
  266. The following fixes are provided in Compiler CS CTC0004 and later CS
  267. *************************************************************************
  268. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  269.  ------------------------------------------------------------------------
  270.  PJ11127         BE         Optimization Problem: Multiplying a variable
  271.                             by a constant and the adding or subtracting 1
  272.                             could result in incorrect code generation.
  273.  ------------------------------------------------------------------------
  274.  PJ11128         BE         Optimization Problem: An internal problem
  275.                             could result in traps or unexpected results
  276.                             with 32 to 16 or 16 to 32 code.
  277.  ------------------------------------------------------------------------
  278.  PJ11129         BE         Optimization Problem: In rare circumstances,
  279.                             doing arithmetic with shorts could result in
  280.                             traps or unexpected results.
  281.  ------------------------------------------------------------------------
  282.  PJ11134         BE         Optimization Problem: The result of a right
  283.                             shift of a negative value, though
  284.                             implementation defined, could differ at /O-
  285.                             and /O+.
  286.  ------------------------------------------------------------------------
  287.  PJ11135         BE         Optimization Problem: The backend could abort
  288.                             with fatal error EDC4005 in intermediate file
  289.                             ROOPT when optimizing an if-then-else.
  290.  ------------------------------------------------------------------------
  291.  PJ11137         BE         Optimization Problem: Expressions of the
  292.                             form: "*(float *) &var", where var is an int,
  293.                             could cause a compile-time back-end trap.
  294.  ------------------------------------------------------------------------
  295.  PJ11138         BE         Optimization Problem: An internal problem
  296.                             occuring when compiling floating-point code
  297.                             could cause a compile-time back-end trap.
  298.  ------------------------------------------------------------------------
  299.  PJ11139         BE         Incorrect code could be generated when
  300.                             negating a char variable and then storing the
  301.                             result into an int variable.
  302.  ------------------------------------------------------------------------
  303.  PJ11140         BE         Optimization Problem: Statements of the form:
  304.                             "x--; if (cond) x += 2;" may be incorrectly
  305.                             optimized.
  306.  ------------------------------------------------------------------------
  307.  PJ11141         BE         Run-time traps could occur in code using 16
  308.                             to 32 callback functions if the code crossed
  309.                             a 64K boundary.
  310.  ------------------------------------------------------------------------
  311.  PJ11142         BE         When using strncat(), an extra NULL was being
  312.                             appended to the end of the destination string
  313.                             if the length of the source string was less
  314.                             than "n".
  315.  ------------------------------------------------------------------------
  316.  PJ11143         BE         Optimization Problem: Statements of the form:
  317.                             "if (!x) {y = 0;} else {y = 1;}" could cause
  318.                             a compile-time trap if x is a float-point
  319.                             type.
  320.  ------------------------------------------------------------------------
  321.  QUAL-IMP        BE         Under certain conditions, the optimizer could
  322.                             leave around some useless LEA instructions.
  323.                             This has now been fixed.
  324.  ------------------------------------------------------------------------
  325.  QUAL-IMP        BE         When exporting callback functions, an
  326.                             incorrect symbol could be used, resulting in
  327.                             link errors.
  328.  ------------------------------------------------------------------------
  329.  PJ11176         CFE        Compiler generates incorrect code for
  330.                             referencing array of array in structure
  331.                             with array index of 0.
  332.                             ie:  a.b╒i■╒0■.c = 1;  a.b╒i■->c = 2;
  333.  ------------------------------------------------------------------------
  334.  PJ11177         CFE        If a variable is first declared and then
  335.                             initialized both with a typedef type and
  336.                             a qualifier, the compiler generates incorrect
  337.                             code.
  338.                             ie:  const typedef_name var;
  339.                                  const typedef_name var = 0;
  340.  ------------------------------------------------------------------------
  341.  PJ11179         CFE        When initializing a member of a structure
  342.                             casting the member to _Seg16 pointer causes
  343.                             unexpected compiler error.
  344.  ------------------------------------------------------------------------
  345.  PJ11180         CFE        When #pragma handler is specified for some
  346.                             functions, the compiler randomly generates
  347.                             incorrect code that exports some of those
  348.                             functions.
  349.  ------------------------------------------------------------------------
  350.  PJ11181         C++FE      The following message is produced when both
  351.                             sides of a conditional expression are the
  352.                             same:
  353.                             recoverable EDC4005: Error occured in
  354.                                         intermediate file RBEXPR(4902)
  355.  ------------------------------------------------------------------------
  356.  PJ11182         C++FE      An initialized function-scope static variable
  357.                             will cause the C++ front end to GPF if a
  358.                             compiler temporary is required when
  359.                             evaluating the initializing expression.
  360.  ------------------------------------------------------------------------
  361.  PJ11183         CRT        FILE struct members violate user name space.
  362.  ------------------------------------------------------------------------
  363.  PJ11185         CRT        MATHERR not handling domain errors.
  364. =========================================================================
  365.                CTC0003 is informal Corrective Service
  366. The following fixes are provided in Compiler CS CTC0003 and later CS
  367. *************************************************************************
  368. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  369.  ------------------------------------------------------------------------
  370.  PJ10704         BE         Incorrect debug information could cause IPMD
  371.                             to trap in DDE4BE32.DLL while debugging C++
  372.                             programs.
  373.  ------------------------------------------------------------------------
  374.  PJ10705         BE         Incorrect debug information for const member
  375.                             functions could cause expression evaluation
  376.                             problems in IPMD.
  377.  ------------------------------------------------------------------------
  378.  PJ10706         BE         Incorrect debug information could cause IPMD
  379.                             to hang when debugging large programs.
  380.  ------------------------------------------------------------------------
  381.  QUAL-IMP        BE         Incorrect debug information could confuse
  382.                             IPMD while debugging C++ programs.
  383.  ------------------------------------------------------------------------
  384.  PJ10461         CRT        Serialization code used in the runtime
  385.                             library may cause system traps. This
  386.                             usually occurs when one of the thread
  387.                             unexpectedly terminates.
  388.  ------------------------------------------------------------------------
  389.  PJ10703         C++RTL     CPPFILT utility truncates the mangled
  390.                             function names if it is greater than 233
  391.                             characters.
  392. =========================================================================
  393.                CTC0002 is formal Corrective Service
  394. The following fixes are provided in Compiler CS CTC0002 and later CS
  395. *************************************************************************
  396. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  397.  ------------------------------------------------------------------------
  398.  PJ10544          BE        Optimization Problem: Compiling with /G5 /Ms
  399.                             may optimize SUB ESP,4 into PUSH EAX at
  400.                             inappropriate places.
  401.  ------------------------------------------------------------------------
  402.  PJ10545          BE        Incorrect code may be generated when copying
  403.                             structures whose size is less than 12 bytes.
  404.  ------------------------------------------------------------------------
  405.  PJ10546          BE        Optimization Problem: An internal problem
  406.                             during common subexpression elimination could
  407.                             cause a compile-time exception.
  408.  ------------------------------------------------------------------------
  409.  PJ10547          BE        Optimization Problem: Incorrect code
  410.                             generation may result when optimizing a loop
  411.                             that contains a goto which acts like a break.
  412.  ------------------------------------------------------------------------
  413.  PJ10549          BE        Optimization Problem: Instruction scheduling
  414.                             may move instructions out of the protected
  415.                             area between _disable and _enable.
  416.  ------------------------------------------------------------------------
  417.  PJ10550          BE        Optimization Problem: Returning a floating
  418.                             point value as an integer may cause problems
  419.                             on machines without FP co-processors when
  420.                             compiled with /O and either /G4 or /G5.
  421.  ------------------------------------------------------------------------
  422.  PJ10552          BE        The enum data offset field of a COMDAT placed
  423.                             in a user segment was being set to a non-zero
  424.                             value.
  425.  ------------------------------------------------------------------------
  426.  PJ10553          BE        Optimization Problem: An internal problem
  427.                             could cause a compile-time trap when
  428.                             compiling with /O+ /Gf+.
  429.  ------------------------------------------------------------------------
  430.  PJ10556          BE        The BE was not growing the number of file
  431.                             handles available.  This caused a
  432.                             compile-time exception when the BE ran out of
  433.                             file handles.
  434.  ------------------------------------------------------------------------
  435.  PJ10557          BE        Optimization Problem: Calling a 32-bit
  436.                             function from the last statement of a _Far16
  437.                             _Pascal function could be compiled
  438.                             incorrectly.
  439.  ------------------------------------------------------------------------
  440.  PJ10558          BE        Optimization Problem: The incorrect register
  441.                             may be cleared when returning 0.
  442.  ------------------------------------------------------------------------
  443.  PJ10559          BE        A constant left-shifted by another constant
  444.                             may be folded incorrectly when compiled with
  445.                             /Gi.
  446.  ------------------------------------------------------------------------
  447.  PJ10560          BE        Optimization Problem: Tail call optimization
  448.                             was being incorrectly applied to a call to a
  449.                             pascal linkage function from a system linkage
  450.                             function.
  451.  ------------------------------------------------------------------------
  452.  QUAL-IMP         BE        Optimization Problem: Bad register selection
  453.                             around switch statements could cause
  454.                             incorrect code generation.
  455.  ------------------------------------------------------------------------
  456.  QUAL-IMP         BE        With C++, returning a complex structure from
  457.                             a function whose destructor has been inlined
  458.                             could be compiled incorrectly.
  459.  ------------------------------------------------------------------------
  460.  QUAL-IMP         BE        An internal problem could cause a
  461.                             compile-time trap when compiling, with /Gr
  462.                             /Rn, a _Far32 _Pascal function that returns a
  463.                             pointer.
  464.  ------------------------------------------------------------------------
  465.  PJ10478         CFE        The preprocessor was getting an internal
  466.                             compiler error for certain macro expansion.
  467.  ------------------------------------------------------------------------
  468.  PJ10477         CFE        If a source/header file contains null
  469.                             characters, the compiler gets an internal
  470.                             compiler error and may result in a huge
  471.                             swapper that may bring down your system.
  472.  ------------------------------------------------------------------------
  473.  QUAL-IMP        CFE        Error message was being erroneously issued
  474.                             when '_Export" keyword or '#pragma export'
  475.                             are specified more than once for the same
  476.                             object.
  477.  ------------------------------------------------------------------------
  478.  PJ10566       C++FE        Conversion function results in an
  479.                             unconstructed temporary. No constructor was
  480.                             called for the temporary object.
  481.  ------------------------------------------------------------------------
  482.  PJ10567       C++FE        When passing a class as a by value parameter
  483.                             a temporary is not used and the class is
  484.                             passed by reference.
  485.  ------------------------------------------------------------------------
  486.  PJ10568       C++FE        Member friend incorrectly inherits function
  487.                             linkage from linkage specifier.
  488.  ------------------------------------------------------------------------
  489.  PJ10569       C++FE        Invalid Error message EDC3458 produced.
  490.  ------------------------------------------------------------------------
  491.  PJ10570       C++FE        GPF calling virtual member function of a
  492.                             template class when the module uses #pragma
  493.                             data_seg.
  494.  ------------------------------------------------------------------------
  495.  PJ10571       C++FE        Invalid error for postfix operator ++ on a
  496.                             reference in a conditional expression.
  497.  ------------------------------------------------------------------------
  498.  PJ10572       C++FE        Invalid error message EDC3276 and GPF when
  499.                             compiling a conditional expression.
  500.  ------------------------------------------------------------------------
  501.  QUAL-IMP      C++FE        Runtime GPF accessing static data member
  502.                             at location 0.
  503.  ------------------------------------------------------------------------
  504.  QUAL-IMP      C++FE        /Ms causes a runtime GPF when exception
  505.                             handling is used.
  506.  ------------------------------------------------------------------------
  507.  PJ10462         CRT        Thunk Prologue incorrectly probes stack
  508.                             causing system traps. This may occur
  509.                             with any 32-16 calls not in thread one.
  510.  ------------------------------------------------------------------------
  511.  QUAL-IMP        CRT        Free not handling debug object. An debug
  512.                             memory object (as allocated by the debug
  513.                             memory routine) can cause system trap
  514.                             after it is passed to the regular free()
  515.                             function for freeing.
  516.  ------------------------------------------------------------------------
  517.  QUAL-IMP        CRT        Spawn/Exec family functions should ignore
  518.                             net error. If the net error is not ignored,
  519.                             the search on the PATH stops prematurely,
  520.                             which may cause spawns/exec functions not to
  521.                             find any program whose path appears
  522.                             after the net work path causing the error.
  523.  ------------------------------------------------------------------------
  524.  QUAL-IMP       UTIL        Compiler dialog did not parse a file when the
  525.                             file contains a '//' comment.  It ignored
  526.                             lines after the '//' character until a blank
  527.                             line is reached.
  528.  ------------------------------------------------------------------------
  529.  QUAL-IMP       UTIL        Dialog did not free up memory when saving
  530.                             or retrieving information to/from the project
  531.                             file extended attribute.
  532. =========================================================================
  533.                CTC0001 is informal Corrective Service
  534. The following fixes are provided in Compiler CS CTC0001 and later CS
  535. *************************************************************************
  536. FIX/APAR      COMPONENT     PROBLEM DESCRIPTION
  537.  ------------------------------------------------------------------------
  538.  PJ09575        DOC         Hitting Ctrl H in EPM for contextual help
  539.                             did not work for printf or scanf.  A change
  540.                             was made in the DDE4CLIB.NDX file..
  541.  ------------------------------------------------------------------------
  542.  QUAL-IMP       ICC         When /Fa compilation switch was used to
  543.                             create assembler file, and a template file
  544.                             was compiled, the compiler trapped.
  545.  ------------------------------------------------------------------------
  546.  QUAL-IMP       ICC         Added the description of /Tm option to ICC
  547.                             help.
  548.  ------------------------------------------------------------------------
  549.  PJ09573        FE          Fixed the compiler to disallow illegal
  550.                             initialization of two-dimensional array
  551.                             of char with character string without braces.
  552.  ------------------------------------------------------------------------
  553.  PJ09574        FE          Structure initialization failed with an
  554.                             extra set of braces.
  555.  ------------------------------------------------------------------------
  556.  QUAL-IMP       FE          Usage of _Export keyword caused the compiler
  557.                             to fail.
  558.  ------------------------------------------------------------------------
  559.  QUAL-IMP      UTIL         Beta project causes Workframe to trap.
  560.  ------------------------------------------------------------------------
  561.  QUAL-IMP      UTIL         Update English panels to fix a Japanese
  562.                             VGA screen.
  563.  ------------------------------------------------------------------------
  564.  QUAL-IMP      UTIL         Remove the minimize capability of the
  565.                             notebook dialog.
  566.  ------------------------------------------------------------------------
  567.  QUAL-IMP      UTIL         No keyboard focus when the notebook dialog
  568.                             first appears.
  569.  ------------------------------------------------------------------------
  570.  QUAL-IMP      UTIL         Incorrect focus when Alt key is pressed
  571.                             inside a dialog.
  572.  ------------------------------------------------------------------------
  573.  QUAL-IMP      UTIL         /Xc should not generate any command line
  574.                             include paths.
  575.  ------------------------------------------------------------------------
  576.  QUAL-IMP      C++FE        The /Ms option is changing the linkage of
  577.                             internally declared compiler functions.
  578.                             This can result in runtime traps when using
  579.                             memory management or C++ exception handling.
  580.  ------------------------------------------------------------------------
  581.  QUAL-IMP      C++FE        The linker fails when using /ND to rename
  582.                             a data segment.  The compiler is generating
  583.                             bad code for partially initialized
  584.                             structures.
  585.  ------------------------------------------------------------------------
  586.  QUAL-IMP      C++FE        Using the compiler options /La or /Lb causes
  587.                             the compiler to trap.
  588.  ------------------------------------------------------------------------
  589.  PJ09576       C++FE        Linking a program that contains templates
  590.                             causes an invalid error to be generated by
  591.                             lib.exe.  The error is "LIB0007: Error :
  592.                             Unable to open D:\00900000.6.OBJ"
  593.  ------------------------------------------------------------------------
  594.  PJ09577       C++FE        Large program with many template functions,
  595.                             (more than 1023), traps at runtime.
  596.  ------------------------------------------------------------------------
  597.  PJ09578       C++FE        When linking programs that contain templates
  598.                             and object files that were generated by TASM
  599.                             the message: "Unknown Record Type {ox..},
  600.                             offset {..} is generated.
  601.  ------------------------------------------------------------------------
  602.  PJ09579       C++FE        The compiler is incorrectly resolving to a
  603.                             function template instead of using a
  604.                             previously declared member function.
  605.  ------------------------------------------------------------------------
  606.  PJ09580       C++FE        Object destructors are not always run after
  607.                             a throw statement.
  608.  ------------------------------------------------------------------------
  609.  PJ09581       C++FE        Compiling code that uses _Far16 and _Pascal
  610.                             keywords causes an internal compiler error:
  611.                             "Exception #C0000005: 30751 occurred in
  612.                             file .., function .."
  613.  ------------------------------------------------------------------------
  614.  QUAL-IMP      C++RT        Incorrectly handling exceptions in multiple
  615.                             runtime environments.
  616.  ------------------------------------------------------------------------
  617.  PJ09568         BE         Compiling source files with the same names
  618.                             may result in conflicting BSS static areas.
  619.  ------------------------------------------------------------------------
  620.  PJ09570         BE         Optimization Problem: Incorrect code could be
  621.                             generated when the result of a comparison is
  622.                             subtracted from a variable.
  623.  ------------------------------------------------------------------------
  624.  PJ09571         BE         The debug info could become corrupted in very
  625.                             large files which results in only assembler
  626.                             view being available within IPMD.
  627.  ------------------------------------------------------------------------
  628.  PJ09572         BE         Optimization Problem: An internal problem
  629.                             during loop optimizations could cause a
  630.                             compile-time exception in the back-end.
  631.  ------------------------------------------------------------------------
  632.  PJ09569         BE         Optimization Problem: Incorrect code could be
  633.                             produced for loops ending with an
  634.                             if-then-else where the last statement of the
  635.                             else is a break.
  636.  ------------------------------------------------------------------------
  637.  QUAL-IMP        BE         Optimization Problem: An internal problem in
  638.                             store removal could cause incorrect code.
  639.  ------------------------------------------------------------------------
  640.  QUAL-IMP        BE         Optimization Problem: An internal problem
  641.                             may cause a compile-time exception in the
  642.                             back-end.
  643.  ------------------------------------------------------------------------
  644.  QUAL-IMP        BE         Incorrect code generation for _Far16 _Pascal
  645.                             functions that return floating-point types
  646.                             could cause a run-time exception.
  647.  ------------------------------------------------------------------------
  648.  QUAL-IMP        BE         Optimization Problem: An internal problem,
  649.                             when compiling with /Ti+, may cause incorrect
  650.                             code generation for breaks within loops.
  651.  ------------------------------------------------------------------------
  652.  QUAL-IMP        BE         Optimization Problem: The optimizer was
  653.                             incorrectly folding (0 / x) and (0 % x).
  654.  ------------------------------------------------------------------------
  655.  QUAL-IMP        BE         Casting a floating-point value to int and
  656.                             then comparing the result to another int that
  657.                             was previously cast from a floating-point
  658.                             value may produce incorrect results.
  659. =========================================================================
  660.